import UserDisplayCard from "@/components/UserDisplayCard";

interface UserDetailPageProps {
  params: {
    id: string;
  };
}

// 容器组件只做逻辑处理

export default async function UserDetailPage({ params }: UserDetailPageProps) {
  const { id } = await params;

  // 2、业务逻辑的处理
  const reps = await fetch(`https://jsonplaceholder.typicode.com/users/${id}`, {
    next: { revalidate: 60 }, //  缓存数据 60 秒。60 秒后，下次请求会触发后台重新拉取
  });

  if (!reps.ok) {
    throw new Error("Failed to fetch user");
  }

  const user = await reps.json();

  return (
    // 3. 视图渲染：将获取的数据作为 Props 传递给展示组件
    <UserDisplayCard user={user} />
  );
}
